package cn.kgc.pojo;

import java.util.ArrayList;
import java.util.List;

public class BuildingExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public BuildingExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andIdIsNull() {
            addCriterion("id is null");
            return (Criteria) this;
        }

        public Criteria andIdIsNotNull() {
            addCriterion("id is not null");
            return (Criteria) this;
        }

        public Criteria andIdEqualTo(Integer value) {
            addCriterion("id =", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotEqualTo(Integer value) {
            addCriterion("id <>", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThan(Integer value) {
            addCriterion("id >", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("id >=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThan(Integer value) {
            addCriterion("id <", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThanOrEqualTo(Integer value) {
            addCriterion("id <=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdIn(List<Integer> values) {
            addCriterion("id in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotIn(List<Integer> values) {
            addCriterion("id not in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdBetween(Integer value1, Integer value2) {
            addCriterion("id between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotBetween(Integer value1, Integer value2) {
            addCriterion("id not between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andBuildingnameIsNull() {
            addCriterion("buildingname is null");
            return (Criteria) this;
        }

        public Criteria andBuildingnameIsNotNull() {
            addCriterion("buildingname is not null");
            return (Criteria) this;
        }

        public Criteria andBuildingnameEqualTo(String value) {
            addCriterion("buildingname =", value, "buildingname");
            return (Criteria) this;
        }

        public Criteria andBuildingnameNotEqualTo(String value) {
            addCriterion("buildingname <>", value, "buildingname");
            return (Criteria) this;
        }

        public Criteria andBuildingnameGreaterThan(String value) {
            addCriterion("buildingname >", value, "buildingname");
            return (Criteria) this;
        }

        public Criteria andBuildingnameGreaterThanOrEqualTo(String value) {
            addCriterion("buildingname >=", value, "buildingname");
            return (Criteria) this;
        }

        public Criteria andBuildingnameLessThan(String value) {
            addCriterion("buildingname <", value, "buildingname");
            return (Criteria) this;
        }

        public Criteria andBuildingnameLessThanOrEqualTo(String value) {
            addCriterion("buildingname <=", value, "buildingname");
            return (Criteria) this;
        }

        public Criteria andBuildingnameLike(String value) {
            addCriterion("buildingname like", value, "buildingname");
            return (Criteria) this;
        }

        public Criteria andBuildingnameNotLike(String value) {
            addCriterion("buildingname not like", value, "buildingname");
            return (Criteria) this;
        }

        public Criteria andBuildingnameIn(List<String> values) {
            addCriterion("buildingname in", values, "buildingname");
            return (Criteria) this;
        }

        public Criteria andBuildingnameNotIn(List<String> values) {
            addCriterion("buildingname not in", values, "buildingname");
            return (Criteria) this;
        }

        public Criteria andBuildingnameBetween(String value1, String value2) {
            addCriterion("buildingname between", value1, value2, "buildingname");
            return (Criteria) this;
        }

        public Criteria andBuildingnameNotBetween(String value1, String value2) {
            addCriterion("buildingname not between", value1, value2, "buildingname");
            return (Criteria) this;
        }

        public Criteria andBuildingareaIsNull() {
            addCriterion("buildingarea is null");
            return (Criteria) this;
        }

        public Criteria andBuildingareaIsNotNull() {
            addCriterion("buildingarea is not null");
            return (Criteria) this;
        }

        public Criteria andBuildingareaEqualTo(String value) {
            addCriterion("buildingarea =", value, "buildingarea");
            return (Criteria) this;
        }

        public Criteria andBuildingareaNotEqualTo(String value) {
            addCriterion("buildingarea <>", value, "buildingarea");
            return (Criteria) this;
        }

        public Criteria andBuildingareaGreaterThan(String value) {
            addCriterion("buildingarea >", value, "buildingarea");
            return (Criteria) this;
        }

        public Criteria andBuildingareaGreaterThanOrEqualTo(String value) {
            addCriterion("buildingarea >=", value, "buildingarea");
            return (Criteria) this;
        }

        public Criteria andBuildingareaLessThan(String value) {
            addCriterion("buildingarea <", value, "buildingarea");
            return (Criteria) this;
        }

        public Criteria andBuildingareaLessThanOrEqualTo(String value) {
            addCriterion("buildingarea <=", value, "buildingarea");
            return (Criteria) this;
        }

        public Criteria andBuildingareaLike(String value) {
            addCriterion("buildingarea like", value, "buildingarea");
            return (Criteria) this;
        }

        public Criteria andBuildingareaNotLike(String value) {
            addCriterion("buildingarea not like", value, "buildingarea");
            return (Criteria) this;
        }

        public Criteria andBuildingareaIn(List<String> values) {
            addCriterion("buildingarea in", values, "buildingarea");
            return (Criteria) this;
        }

        public Criteria andBuildingareaNotIn(List<String> values) {
            addCriterion("buildingarea not in", values, "buildingarea");
            return (Criteria) this;
        }

        public Criteria andBuildingareaBetween(String value1, String value2) {
            addCriterion("buildingarea between", value1, value2, "buildingarea");
            return (Criteria) this;
        }

        public Criteria andBuildingareaNotBetween(String value1, String value2) {
            addCriterion("buildingarea not between", value1, value2, "buildingarea");
            return (Criteria) this;
        }

        public Criteria andBuildingdetailsIsNull() {
            addCriterion("buildingdetails is null");
            return (Criteria) this;
        }

        public Criteria andBuildingdetailsIsNotNull() {
            addCriterion("buildingdetails is not null");
            return (Criteria) this;
        }

        public Criteria andBuildingdetailsEqualTo(String value) {
            addCriterion("buildingdetails =", value, "buildingdetails");
            return (Criteria) this;
        }

        public Criteria andBuildingdetailsNotEqualTo(String value) {
            addCriterion("buildingdetails <>", value, "buildingdetails");
            return (Criteria) this;
        }

        public Criteria andBuildingdetailsGreaterThan(String value) {
            addCriterion("buildingdetails >", value, "buildingdetails");
            return (Criteria) this;
        }

        public Criteria andBuildingdetailsGreaterThanOrEqualTo(String value) {
            addCriterion("buildingdetails >=", value, "buildingdetails");
            return (Criteria) this;
        }

        public Criteria andBuildingdetailsLessThan(String value) {
            addCriterion("buildingdetails <", value, "buildingdetails");
            return (Criteria) this;
        }

        public Criteria andBuildingdetailsLessThanOrEqualTo(String value) {
            addCriterion("buildingdetails <=", value, "buildingdetails");
            return (Criteria) this;
        }

        public Criteria andBuildingdetailsLike(String value) {
            addCriterion("buildingdetails like", value, "buildingdetails");
            return (Criteria) this;
        }

        public Criteria andBuildingdetailsNotLike(String value) {
            addCriterion("buildingdetails not like", value, "buildingdetails");
            return (Criteria) this;
        }

        public Criteria andBuildingdetailsIn(List<String> values) {
            addCriterion("buildingdetails in", values, "buildingdetails");
            return (Criteria) this;
        }

        public Criteria andBuildingdetailsNotIn(List<String> values) {
            addCriterion("buildingdetails not in", values, "buildingdetails");
            return (Criteria) this;
        }

        public Criteria andBuildingdetailsBetween(String value1, String value2) {
            addCriterion("buildingdetails between", value1, value2, "buildingdetails");
            return (Criteria) this;
        }

        public Criteria andBuildingdetailsNotBetween(String value1, String value2) {
            addCriterion("buildingdetails not between", value1, value2, "buildingdetails");
            return (Criteria) this;
        }

        public Criteria andBuildingpriceIsNull() {
            addCriterion("buildingprice is null");
            return (Criteria) this;
        }

        public Criteria andBuildingpriceIsNotNull() {
            addCriterion("buildingprice is not null");
            return (Criteria) this;
        }

        public Criteria andBuildingpriceEqualTo(String value) {
            addCriterion("buildingprice =", value, "buildingprice");
            return (Criteria) this;
        }

        public Criteria andBuildingpriceNotEqualTo(String value) {
            addCriterion("buildingprice <>", value, "buildingprice");
            return (Criteria) this;
        }

        public Criteria andBuildingpriceGreaterThan(String value) {
            addCriterion("buildingprice >", value, "buildingprice");
            return (Criteria) this;
        }

        public Criteria andBuildingpriceGreaterThanOrEqualTo(String value) {
            addCriterion("buildingprice >=", value, "buildingprice");
            return (Criteria) this;
        }

        public Criteria andBuildingpriceLessThan(String value) {
            addCriterion("buildingprice <", value, "buildingprice");
            return (Criteria) this;
        }

        public Criteria andBuildingpriceLessThanOrEqualTo(String value) {
            addCriterion("buildingprice <=", value, "buildingprice");
            return (Criteria) this;
        }

        public Criteria andBuildingpriceLike(String value) {
            addCriterion("buildingprice like", value, "buildingprice");
            return (Criteria) this;
        }

        public Criteria andBuildingpriceNotLike(String value) {
            addCriterion("buildingprice not like", value, "buildingprice");
            return (Criteria) this;
        }

        public Criteria andBuildingpriceIn(List<String> values) {
            addCriterion("buildingprice in", values, "buildingprice");
            return (Criteria) this;
        }

        public Criteria andBuildingpriceNotIn(List<String> values) {
            addCriterion("buildingprice not in", values, "buildingprice");
            return (Criteria) this;
        }

        public Criteria andBuildingpriceBetween(String value1, String value2) {
            addCriterion("buildingprice between", value1, value2, "buildingprice");
            return (Criteria) this;
        }

        public Criteria andBuildingpriceNotBetween(String value1, String value2) {
            addCriterion("buildingprice not between", value1, value2, "buildingprice");
            return (Criteria) this;
        }

        public Criteria andBuildingadressIsNull() {
            addCriterion("buildingadress is null");
            return (Criteria) this;
        }

        public Criteria andBuildingadressIsNotNull() {
            addCriterion("buildingadress is not null");
            return (Criteria) this;
        }

        public Criteria andBuildingadressEqualTo(String value) {
            addCriterion("buildingadress =", value, "buildingadress");
            return (Criteria) this;
        }

        public Criteria andBuildingadressNotEqualTo(String value) {
            addCriterion("buildingadress <>", value, "buildingadress");
            return (Criteria) this;
        }

        public Criteria andBuildingadressGreaterThan(String value) {
            addCriterion("buildingadress >", value, "buildingadress");
            return (Criteria) this;
        }

        public Criteria andBuildingadressGreaterThanOrEqualTo(String value) {
            addCriterion("buildingadress >=", value, "buildingadress");
            return (Criteria) this;
        }

        public Criteria andBuildingadressLessThan(String value) {
            addCriterion("buildingadress <", value, "buildingadress");
            return (Criteria) this;
        }

        public Criteria andBuildingadressLessThanOrEqualTo(String value) {
            addCriterion("buildingadress <=", value, "buildingadress");
            return (Criteria) this;
        }

        public Criteria andBuildingadressLike(String value) {
            addCriterion("buildingadress like", value, "buildingadress");
            return (Criteria) this;
        }

        public Criteria andBuildingadressNotLike(String value) {
            addCriterion("buildingadress not like", value, "buildingadress");
            return (Criteria) this;
        }

        public Criteria andBuildingadressIn(List<String> values) {
            addCriterion("buildingadress in", values, "buildingadress");
            return (Criteria) this;
        }

        public Criteria andBuildingadressNotIn(List<String> values) {
            addCriterion("buildingadress not in", values, "buildingadress");
            return (Criteria) this;
        }

        public Criteria andBuildingadressBetween(String value1, String value2) {
            addCriterion("buildingadress between", value1, value2, "buildingadress");
            return (Criteria) this;
        }

        public Criteria andBuildingadressNotBetween(String value1, String value2) {
            addCriterion("buildingadress not between", value1, value2, "buildingadress");
            return (Criteria) this;
        }

        public Criteria andBuildingstatusIsNull() {
            addCriterion("buildingstatus is null");
            return (Criteria) this;
        }

        public Criteria andBuildingstatusIsNotNull() {
            addCriterion("buildingstatus is not null");
            return (Criteria) this;
        }

        public Criteria andBuildingstatusEqualTo(Integer value) {
            addCriterion("buildingstatus =", value, "buildingstatus");
            return (Criteria) this;
        }

        public Criteria andBuildingstatusNotEqualTo(Integer value) {
            addCriterion("buildingstatus <>", value, "buildingstatus");
            return (Criteria) this;
        }

        public Criteria andBuildingstatusGreaterThan(Integer value) {
            addCriterion("buildingstatus >", value, "buildingstatus");
            return (Criteria) this;
        }

        public Criteria andBuildingstatusGreaterThanOrEqualTo(Integer value) {
            addCriterion("buildingstatus >=", value, "buildingstatus");
            return (Criteria) this;
        }

        public Criteria andBuildingstatusLessThan(Integer value) {
            addCriterion("buildingstatus <", value, "buildingstatus");
            return (Criteria) this;
        }

        public Criteria andBuildingstatusLessThanOrEqualTo(Integer value) {
            addCriterion("buildingstatus <=", value, "buildingstatus");
            return (Criteria) this;
        }

        public Criteria andBuildingstatusIn(List<Integer> values) {
            addCriterion("buildingstatus in", values, "buildingstatus");
            return (Criteria) this;
        }

        public Criteria andBuildingstatusNotIn(List<Integer> values) {
            addCriterion("buildingstatus not in", values, "buildingstatus");
            return (Criteria) this;
        }

        public Criteria andBuildingstatusBetween(Integer value1, Integer value2) {
            addCriterion("buildingstatus between", value1, value2, "buildingstatus");
            return (Criteria) this;
        }

        public Criteria andBuildingstatusNotBetween(Integer value1, Integer value2) {
            addCriterion("buildingstatus not between", value1, value2, "buildingstatus");
            return (Criteria) this;
        }

        public Criteria andBuildingmoldIsNull() {
            addCriterion("buildingmold is null");
            return (Criteria) this;
        }

        public Criteria andBuildingmoldIsNotNull() {
            addCriterion("buildingmold is not null");
            return (Criteria) this;
        }

        public Criteria andBuildingmoldEqualTo(String value) {
            addCriterion("buildingmold =", value, "buildingmold");
            return (Criteria) this;
        }

        public Criteria andBuildingmoldNotEqualTo(String value) {
            addCriterion("buildingmold <>", value, "buildingmold");
            return (Criteria) this;
        }

        public Criteria andBuildingmoldGreaterThan(String value) {
            addCriterion("buildingmold >", value, "buildingmold");
            return (Criteria) this;
        }

        public Criteria andBuildingmoldGreaterThanOrEqualTo(String value) {
            addCriterion("buildingmold >=", value, "buildingmold");
            return (Criteria) this;
        }

        public Criteria andBuildingmoldLessThan(String value) {
            addCriterion("buildingmold <", value, "buildingmold");
            return (Criteria) this;
        }

        public Criteria andBuildingmoldLessThanOrEqualTo(String value) {
            addCriterion("buildingmold <=", value, "buildingmold");
            return (Criteria) this;
        }

        public Criteria andBuildingmoldLike(String value) {
            addCriterion("buildingmold like", value, "buildingmold");
            return (Criteria) this;
        }

        public Criteria andBuildingmoldNotLike(String value) {
            addCriterion("buildingmold not like", value, "buildingmold");
            return (Criteria) this;
        }

        public Criteria andBuildingmoldIn(List<String> values) {
            addCriterion("buildingmold in", values, "buildingmold");
            return (Criteria) this;
        }

        public Criteria andBuildingmoldNotIn(List<String> values) {
            addCriterion("buildingmold not in", values, "buildingmold");
            return (Criteria) this;
        }

        public Criteria andBuildingmoldBetween(String value1, String value2) {
            addCriterion("buildingmold between", value1, value2, "buildingmold");
            return (Criteria) this;
        }

        public Criteria andBuildingmoldNotBetween(String value1, String value2) {
            addCriterion("buildingmold not between", value1, value2, "buildingmold");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}